package com.hongsen.cn.rest;



import com.hongsen.cn.base.BaseModel;
import com.hongsen.cn.bean.BaseTitleBean;
import com.hongsen.cn.bean.CheckBean;
import com.hongsen.cn.bean.FirstPageFaceCallBackBean;
import com.hongsen.cn.bean.FirstPageFaceListBean;
import com.hongsen.cn.bean.HaveNotDoneWorkBean;
import com.hongsen.cn.bean.NativeBean;
import com.hongsen.cn.bean.OrderBean;
import com.hongsen.cn.bean.PoliceBean;
import com.hongsen.cn.bean.PoliceListBean;
import com.hongsen.cn.bean.TheKeyPersonelBean;
import com.hongsen.cn.bean.WorkPlanBean;
import java.util.List;
import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface RestApi {


    /**
     * 获取重点人员
     * 1.今日违规， 2.今日加戴械具，3.风险人员（风险登记为123的），4.今日出所人员
     */
    @GET("one-machine/indexBusiness/getInfo")
    Observable<BaseModel<List<TheKeyPersonelBean>>> getTheKeyPersionel(@Query("type") String type);

    /**
     * 角色对应的未处理业务列表-->预约
     * @param businessType              预约，谈话，违规,定位警情,加戴械具,监室耳目
     * @param roleType                  0：医生，1:管教，2：所领导，4：检察官
     * @param warningSignal             民警编号，只有当个人页面查询的时候才传送
     * @return
     */
    @POST("one-machine/indexBusiness/getUndisposedInfo")
    Observable<BaseModel<List<OrderBean>>> getOrderList(
            @Query("businessType") String businessType,
            @Query("roleType") String roleType,
            @Query("warningSignal") String warningSignal);


    /**
     * 民警信息列表
     * @return
     */
    @GET("one-machine/mjMjxxb/getList")
    Observable<BaseModel<List<PoliceListBean>>> getList();

    /**
     * 根据民警编号、照片获取对应信息
     * @param mjbh
     * @return
     */
    @GET("one-machine/mjMjxxb/getPhotoes")
    Observable<BaseModel<String>> getPhotoeStrs(@Query("mjbh") String mjbh);


    @GET("one-machine/login")
    Observable<BaseModel<PoliceBean>> login(@Query("policeId") String policeId);

    /**
     * 根据所内通知ID获取对应详情
     * @param policeId
     * @return
     */
    @GET("one-machine/notice/getInfo")
    Observable<BaseModel> getNotiveInfo(@Query("id") String policeId);

    /**
     * 获取通知列表
     * @param current
     * @param size
     * @return
     */
    @GET("one-machine/notice/getList")
    Observable<BaseModel<NativeBean>> getNotiveList(@Query("current") int current,
                                                          @Query("size")int size);

    /**
     * 定时循环获取
     * 管教任务百分比
     * @return
     */
    @GET("one-machine/getAllPolicePercentage")
    Observable<BaseModel<List<WorkPlanBean>>> getAllPolicePercentage();

    /**
     * 所领导、民警、检察官、医生未处理工作
     *
     */
    @GET("one-machine/getAllRoleStatistical")
    Observable<BaseModel<HaveNotDoneWorkBean>> getAllRoleStatistical();


    /**
     * 今日违规、加戴械具、风险人员、出所人员数量
     *
     */
    @GET("one-machine/getTopPersonalData")
    Observable<BaseModel<BaseTitleBean>> getTopPersonalData();


    /**
     * 保存管教人脸识别时间
     * @return
     */
    @GET("one-machine/mjdljlb/saveCheckPolice")
    Observable<BaseModel> saveCheckPolice(@Query("dllx") String dllx,
                                                         @Query("policeId")String policeId);

    /**
     * 获取对应时段人脸识别记录
     * one-machine/mjdljlb/getCheckList
     */
    @GET("one-machine/mjdljlb/getCheckList")
    Observable<BaseModel<List<CheckBean>>> getCheckList(@Query("dllx") String dllx);

    /**
     * 获取首页人脸识别记录
     *
     */
    @POST("one-machine/mjdljlb/getList")
    Observable<BaseModel<FirstPageFaceCallBackBean>> getFirstPageFceList(@Body FirstPageFaceListBean bean);

}






